home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / progs / editor / frexxed / fpl / saveextension.fpl < prev    next >
Text File  |  1995-07-18  |  1KB  |  58 lines

  1.  
  2. export int LoadExtSettings(string path, string name)
  3. {
  4.   int column;
  5.   string filename;
  6.  
  7.   column=strstr(name, ".");
  8.   if (column>=0) {
  9.     filename=sprintf("FrexxEd:FPL/%s.SETTING.FPL", substr(name, column, -1));
  10.     ExecuteFile(filename);
  11.   }
  12. }
  13.  
  14.  
  15. export int SaveExtSettings()
  16. {
  17.   int column;
  18.   int tempid;
  19.   int oldid;
  20.   int count, max;
  21.   string filename;
  22.   string extension;
  23.   string settings[1];
  24.   string types[1];
  25.   string tempstring;
  26.  
  27.   oldid=GetEntryID();
  28.   filename=ReadInfo("file_name");
  29.   column=strstr(filename, ".");
  30.   if (column>=0) {
  31.     filename=sprintf("FrexxEd:FPL/%s.SETTING.FPL", substr(filename, column, -1));
  32.     tempid=New();
  33.     if (tempid) {
  34.       CurrentBuffer(tempid);
  35.       Rename(filename);
  36.       max=GetList("setting", &settings, -1, "(read)(hidden)(global)", &types);
  37.       for (count=0; count<max; count++) {
  38.         if (strstr(types[count], "w")>=0) {  // writeable
  39.           tempstring="SetInfo(-1, \""+settings[count]+"\", ";
  40.           if (strstr(types[count], "s")>=0)  // string type
  41.             tempstring+=joinstr("\"",ReadInfo(settings[count], oldid),"\"");
  42.           else
  43.             tempstring+=ltostr(ReadInfo(settings[count], oldid));
  44.           tempstring+=");\n";
  45.           Output(tempstring);
  46.         }
  47.       }
  48.       Clean("Save();");
  49.       CurrentBuffer(oldid);
  50.       Clean(sprintf("Kill(%d);", tempid));
  51.     }
  52.   }
  53. }
  54.  
  55. Hook("GotFile", "LoadExtSettings");
  56. MenuAdd("i", "Save extension", " SaveExtSettings();", "", 6, 8);
  57. MenuBuild();
  58.